In a telecommunications network offering an instant messaging (chat) service, for example, short text messages can be exchanged between users via respective graphical user interfaces of client terminals.
Some networks also offer exchange of voice messages via microphones and loudspeakers or exchange of multimedia messages via cameras, microphones, and screens.
In this type of network, an instant call can be set up between first and second client terminals of a server for managing exchange of data between the two terminals. In this kind of context, if a user of the first terminal wishes to move to another geographical location and to communicate with the second terminal via a third terminal located in that other geographical location, the call between the first and second terminals is interrupted and a new call is set up between the second and third terminals. This movement of the user therefore requires the user to log off at the first terminal and to log on at the third terminal.
The server generally maintains a database in which users' client terminals are associated with respective states that can represent the state of the user in relation to the instant messaging service, for example ‘absent’, ‘logged on’, ‘logged off’ or ‘inactive’. A large or small number of states can be managed, depending on the type of service. Thus the server is able to inform a client terminal of the respective states of the other client terminals of the network.
The server keeps this database up-to-date and to this end stores changes of state of a client terminal.
Such changes of state can be implicit, i.e. managed automatically by the server as a function of parameters corresponding to the client terminal. For example, a client terminal can be placed in the ‘logged off’ state automatically by the server if the server cannot contact the terminal or if a relatively long period of inactivity of that client terminal has been detected.
Changes of state are generally explicit, however, i.e. requested explicitly by the user of the client terminal, and therefore require the user to perform an operation. For example, a client terminal can show its user a list of states managed by the server. Thus a user who is going away can select the ‘absent’ state, for example.
Furthermore, if a user has terminals of different types, such as a microphone, a loudspeaker or a screen, and wishes to change call type, in particular to change from a terminal having an audio output to a terminal having a graphical user interface, a manual operation is required of the user in order to log on at the terminal corresponding to the required call type.
Thus in networks offering a communications service, for example an instant messaging service, using a terminal generally requires the user to carry out many more or less complex manual operations, in particular in relation to managing movements of the user, the state of the client terminal, and the call type.
These operations by the user can be complicated and time-consuming and it is beneficial to make such client terminals more user friendly.